perm filename PATH2[1,JMC] blob sn#005215 filedate 1969-10-25 generic text, type T, neo UTF8
00100	(DE PATH (START GOAL GRAPH) (PATHA NIL (LIST START)
00200	 NIL NIL))
00300	
00400	(DE PATHA (EXC RE PRED NR) (COND ((NULL RE) (COND ((NULL NR)
00500	(QUOTE NO)) (T (PATHA EXC NR PRED NIL))))
00600	((EQ (CAR RE) GOAL) (UNWIND (LIST GOAL)))
00700	(T ((LAMBDA (U) (PATHA (CONS (CAR RE) EXC)
00800	(CDR RE) (APPEND (MAPLIST (FUNCTION 
00900	(LAMBDA (X) (CONS (CAR X) (CAR RE)))) U) PRED) U))
01000	(GLUB (CDR (ASSOC (CAR RE) GRAPH)))))))
01100	
01200	(DE UNWIND (P) (COND ((EQ (CAR P) START) P)
01300	(T (UNWIND (CDR (ASSOC (CAR P) PRED))))))
01400	
01500	(DE GLUB (U) (COND ((NULL U) NIL) ((OR (MEMBER (CAR U) EXC)
01600	(MEMBER (CAR U) NR) (MEMBER (CAR U) RE)) (GLUB (CDR U)))
01700	(T (CONS (CAR U) (GLUB (CDR U))))))
01800	
01900	(SETQ GG (QUOTE ((A B C) (B A C D) (C A B E) (D B E F)
02000	(E C D) (F D G) (G F))))